1. Field of the Invention
The present invention relates generally to measuring response time for various segments of a standard client/server computing environment by directly measuring one segment and statistically deriving response time for the rest.
2. Description of the Related Art
In today's environment, it is common for desktop computers to run many different local and/or network applications simultaneously. Within such computing environments, it is not unusual for one application to execute significantly slower than other applications. Further, it is not uncommon for the operation of one application to seriously impact the performance of other applications on the computer. As a result, the user may have to wait an inordinate amount of time for applications to respond. The wait time experienced by a user is typically directly related to that user's productivity and business opportunity.
As more software applications and information are transferred via the Internet or are utilized on a network, determining performance of individual applications or network segments, based only on their observable behavior, becomes difficult. For example, a user may be unable to reliably detect whether abnormal performance for a specific application is the result of operations performed by that application, or whether it is the result of the impact from another application, or whether it is the result of the performance of the server or another remote system. Further, since each application may be able to perform many different kinds of processing, the user may have no idea that certain requests have significantly worse performance.
By having an ability to measure response time of each Client/Server segment in a computing environment, a decision can be made by the owner of the computing environment, as to which segment to investigate when a real-time delay should arise. Should one particular segment show signs of a delay, the owner of that computing segment can be called upon to do repairs or enhancements of that segment, reducing delays and ultimately making it operate that much faster. Thus, being able to get response time measurements of one or more segments in a computing environment is invaluable to the responsive operation of the total Client/Server computing environment.
For example, within the computer industry, different segments of a computer process directly relate to a standard industry model of a corporation's information technology structure. Corporations, as related to computing environments, may divide their information technology divisions into three logical parts: desktop management, network management, and application management. These divisions are typically run with different people and different skill sets. By measuring segment delays, delays within the three corporate divisions may be measured, thereby allowing the corporation to assign the correct expertise to manage the problems based on the segment in question. For example, if the client response time shows delays, then it is the responsibility of the desktop management division to solve the problem. For poor network response times, the network management division will be dispatched. Similarly, for delays in the server, the corporation's application management division would be responsible.
Currently, response time measurements in a segmented computing environment are hampered by the need to take measurements at each physical segment in question—which in most cases is not practical or even possible. Many of the segments to be measured are not in the physical realm of a measurement agent or the segment's design is such that a measurement agent would be ineffective because of a lack of an instrumentation point. In situations like this, the best that can be accomplished is to measure response time at a starting point segment giving what is known as the “Total Round Trip Response Time”. The Total Round Trip Response Time measurement contains the summation of delays due to all computing segments but gives no information about delays in any specific segment. To reduce the Total Round Trip Response Time of any computing environment, the response time of one or more individual computing segments must be reduced.